1. Field
The present disclosure relates generally to an improved data processing system and, in particular, to virtual machines that have been migrated. Still more particularly, the present disclosure relates to a method and apparatus for managing communications between applications running on virtual machines that have been migrated.
2. Description of the Related Art
The Internet, also referred to as an internetwork, is a set of computer networks. The set of computers may be dissimilar and joined together by gateways. The gateways handle data transfer and the conversion of messages from a protocol of a sending network to a protocol used by a receiving network. When capitalized, the term “Internet” refers to the collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols. The Internet may carry information and provide services. The information and services include, for example, electronic mail, online chat services, file transfers, web pages, and other resources.
Internet protocols identify computing devices in a network using a hostname and/or an Internet Protocol address (IP address). The hostname is a label assigned to computing devices for indicating the name of the computing device in the network. The Internet Protocol address of the computing device indicates a location of the computing device and a route to get data to the computing device.
The Internet is a commonly used source of information and entertainment. Further, the Internet is also used as a medium for business activities. Many businesses, government entities, and other organizations have a presence on the Internet using websites to perform various transactions. Various organizations may offer goods and services. These goods and services may involve a sale of goods that are to be shipped to a customer. The goods also may be software and/or data purchased by a customer and transferred over the Internet to the customer.
Websites and other resources on the Internet may be provided through the use of servers. These servers may take the form of computers or software implementations of computers. Virtual machines may be used to provide services to different users on the Internet, as well as on other types of networks. For example, virtual machines may be used to respond to requests by users to a website for performing different transactions. These transactions may include, for example, without limitation, sales of goods and services.
A virtual machine is a software implementation of a machine that processes instructions like a physical version of the machine. In these examples, the virtual machine runs on a computer. Many virtual machines may run on a single computer. When multiple virtual machines are present, these virtual machines share the physical resources in the computer on which the virtual machines run. Each virtual machine may run its own operating system on the computer. Each virtual machine may have its own set of applications or processes.
A virtual machine may be moved from one location to another location. For example, the virtual machine may be moved from one computer to another computer. This type of movement is often referred to as a relocation or migration of the virtual machine. For example, a virtual machine may be migrated from a local area network to a cloud-based infrastructure. In another example, the location that the virtual machine is moved to may be local or remote.
The migration of the virtual machine may occur while the virtual machines are live. In other words, the virtual machines may still be responding to requests from clients while the migration of virtual machines occurs. A virtual machine within the virtual machines responding to requests may be halted while that virtual machine is migrated from one location to another location. After the virtual machine has been migrated, that virtual machine may then be restarted to respond to requests. As a result, virtual machines may respond to requests at the locations until all of the virtual machines have been migrated.
The migration process may be time consuming and costly. Migration of virtual machines involves setting up computers for the virtual machines. These computers are set up and tested before the migration of the virtual machines occurs. Further, with migrating virtual machines, while they are live, the virtual machines are tested on the computers before the virtual machines start responding to requests. Depending on the results of the tests, changes or modifications to the virtual machines being tested and the applications are performed. This process may take longer and cost more than desired.
Therefore, it would be advantageous to have a method and apparatus that takes into account at least some of the issues discussed above, as well as possibly other issues.